
print("----------------7.1 input() 函数的工作原理-----------------")
# input() 函数让程序暂停运行，等待用户输入一些文本。
# 获取用户输入后，Python 将其赋给一个变量，以便使用。
# input() 函数接受一个参数，即要向用户显示的提示（prompt），让用户知道该输入什么样的信息。
message = input("Tell me something, and I will repeat it back to you: ")
print(message)

print("----------------7.1.1 编写清晰的提示-----------------")
# 每当使用 input() 函数时，都应指定清晰易懂的提示，
# 准确地指出希望用户提供什么样的信息——能指出用户应该输入什么信息的任何提示都行
prompt = input("Please enter your name: ")
print("Hello, " + prompt + "!")
# 编写清晰的提示,通过在提示末尾（这里是冒号后面）添加一个空格，
# 可将提示与用户输入分开，让用户清楚地知道其输入始于何处

# 有时候，提示可能超过一行。例如，你可能需要指出获取特定输入的原因。
# 在这种情况下，可先将提示赋给一个变量，再将这个变量传递给 input()函数。
# 这样，即便提示超过一行，input() 语句也会非常清晰。
prompt = "If you tell us who you are, we can personalize the messages you see."
prompt += "\nWhat is your first name? "
name = input(prompt)
print(f"\nHello, ", name + "!")
# 这个示例演示了一种创建多行字符串的方式。第一行将消息的前半部分赋给变量 prompt。
# 在第二行中，运算符 += 在赋给变量 prompt 的字符串末尾追加一个字符串。


print("----------------7.1.2 使用 int() 来获取数值输入-----------------")
# 在使用 input() 函数时，Python 会将用户输入解读为字符串。
# 示例：
age = input("How old are you? ")
# 输出的是字符串 '21', 而不是数字 21, 如果用字符串数据进行计算，会报错
print(age)
# 字符串做数值比较，会报错
# if age >= 18:
#     print("\nYou are old enough to vote!")

# 显式使用函数 int() 将输入的字符串转换为数值
age = int(age)
# 输出数字
print(age > 18)
if age >= 18:
    print("\nYou are old enough to vote!")
else:
    print("\nSorry, you are too young to vote.")
    print("Please register to vote as soon as you turn 18!")

print("----------------7.1.3 求模运算符-----------------")
# 在处理数值信息时，求模运算符（%）是个很有用的工具，它将两个数相除并返回余数：
# 求模运算符不会指出一个数是另一个数的多少倍，而只指出余数是多少。
# 求模运算符通常用于判断一个数是奇数还是偶数：
number = input("Enter a number, and I'll tell you if it's even or odd: ")
number = int(number)
# 求模运算符返回余数
# 如果一个数可被另一个数整除，余数就为 0，因此求模运算将返回 0。
# 可利用这一点来判断一个数是奇数还是偶数
print(number % 2)

if number % 2 == 0:
    print("\nThe number " + str(number) + " is even.")
